package com.zenchn.model;

import java.util.ArrayList;
import java.util.List;

public class TMiAccountExtendExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TMiAccountExtendExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAccountIdIsNull() {
            addCriterion("account_id is null");
            return (Criteria) this;
        }

        public Criteria andAccountIdIsNotNull() {
            addCriterion("account_id is not null");
            return (Criteria) this;
        }

        public Criteria andAccountIdEqualTo(String value) {
            addCriterion("account_id =", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotEqualTo(String value) {
            addCriterion("account_id <>", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdGreaterThan(String value) {
            addCriterion("account_id >", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdGreaterThanOrEqualTo(String value) {
            addCriterion("account_id >=", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLessThan(String value) {
            addCriterion("account_id <", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLessThanOrEqualTo(String value) {
            addCriterion("account_id <=", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdLike(String value) {
            addCriterion("account_id like", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotLike(String value) {
            addCriterion("account_id not like", value, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdIn(List<String> values) {
            addCriterion("account_id in", values, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotIn(List<String> values) {
            addCriterion("account_id not in", values, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdBetween(String value1, String value2) {
            addCriterion("account_id between", value1, value2, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountIdNotBetween(String value1, String value2) {
            addCriterion("account_id not between", value1, value2, "accountId");
            return (Criteria) this;
        }

        public Criteria andAccountLevelIsNull() {
            addCriterion("account_level is null");
            return (Criteria) this;
        }

        public Criteria andAccountLevelIsNotNull() {
            addCriterion("account_level is not null");
            return (Criteria) this;
        }

        public Criteria andAccountLevelEqualTo(String value) {
            addCriterion("account_level =", value, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelNotEqualTo(String value) {
            addCriterion("account_level <>", value, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelGreaterThan(String value) {
            addCriterion("account_level >", value, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelGreaterThanOrEqualTo(String value) {
            addCriterion("account_level >=", value, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelLessThan(String value) {
            addCriterion("account_level <", value, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelLessThanOrEqualTo(String value) {
            addCriterion("account_level <=", value, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelLike(String value) {
            addCriterion("account_level like", value, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelNotLike(String value) {
            addCriterion("account_level not like", value, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelIn(List<String> values) {
            addCriterion("account_level in", values, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelNotIn(List<String> values) {
            addCriterion("account_level not in", values, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelBetween(String value1, String value2) {
            addCriterion("account_level between", value1, value2, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAccountLevelNotBetween(String value1, String value2) {
            addCriterion("account_level not between", value1, value2, "accountLevel");
            return (Criteria) this;
        }

        public Criteria andAreasCodeIsNull() {
            addCriterion("areas_code is null");
            return (Criteria) this;
        }

        public Criteria andAreasCodeIsNotNull() {
            addCriterion("areas_code is not null");
            return (Criteria) this;
        }

        public Criteria andAreasCodeEqualTo(String value) {
            addCriterion("areas_code =", value, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeNotEqualTo(String value) {
            addCriterion("areas_code <>", value, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeGreaterThan(String value) {
            addCriterion("areas_code >", value, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeGreaterThanOrEqualTo(String value) {
            addCriterion("areas_code >=", value, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeLessThan(String value) {
            addCriterion("areas_code <", value, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeLessThanOrEqualTo(String value) {
            addCriterion("areas_code <=", value, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeLike(String value) {
            addCriterion("areas_code like", value, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeNotLike(String value) {
            addCriterion("areas_code not like", value, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeIn(List<String> values) {
            addCriterion("areas_code in", values, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeNotIn(List<String> values) {
            addCriterion("areas_code not in", values, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeBetween(String value1, String value2) {
            addCriterion("areas_code between", value1, value2, "areasCode");
            return (Criteria) this;
        }

        public Criteria andAreasCodeNotBetween(String value1, String value2) {
            addCriterion("areas_code not between", value1, value2, "areasCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeIsNull() {
            addCriterion("region_code is null");
            return (Criteria) this;
        }

        public Criteria andRegionCodeIsNotNull() {
            addCriterion("region_code is not null");
            return (Criteria) this;
        }

        public Criteria andRegionCodeEqualTo(String value) {
            addCriterion("region_code =", value, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeNotEqualTo(String value) {
            addCriterion("region_code <>", value, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeGreaterThan(String value) {
            addCriterion("region_code >", value, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeGreaterThanOrEqualTo(String value) {
            addCriterion("region_code >=", value, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeLessThan(String value) {
            addCriterion("region_code <", value, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeLessThanOrEqualTo(String value) {
            addCriterion("region_code <=", value, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeLike(String value) {
            addCriterion("region_code like", value, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeNotLike(String value) {
            addCriterion("region_code not like", value, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeIn(List<String> values) {
            addCriterion("region_code in", values, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeNotIn(List<String> values) {
            addCriterion("region_code not in", values, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeBetween(String value1, String value2) {
            addCriterion("region_code between", value1, value2, "regionCode");
            return (Criteria) this;
        }

        public Criteria andRegionCodeNotBetween(String value1, String value2) {
            addCriterion("region_code not between", value1, value2, "regionCode");
            return (Criteria) this;
        }

        public Criteria andAgentTargetIsNull() {
            addCriterion("agent_target is null");
            return (Criteria) this;
        }

        public Criteria andAgentTargetIsNotNull() {
            addCriterion("agent_target is not null");
            return (Criteria) this;
        }

        public Criteria andAgentTargetEqualTo(Integer value) {
            addCriterion("agent_target =", value, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetNotEqualTo(Integer value) {
            addCriterion("agent_target <>", value, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetGreaterThan(Integer value) {
            addCriterion("agent_target >", value, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetGreaterThanOrEqualTo(Integer value) {
            addCriterion("agent_target >=", value, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetLessThan(Integer value) {
            addCriterion("agent_target <", value, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetLessThanOrEqualTo(Integer value) {
            addCriterion("agent_target <=", value, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetIn(List<Integer> values) {
            addCriterion("agent_target in", values, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetNotIn(List<Integer> values) {
            addCriterion("agent_target not in", values, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetBetween(Integer value1, Integer value2) {
            addCriterion("agent_target between", value1, value2, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentTargetNotBetween(Integer value1, Integer value2) {
            addCriterion("agent_target not between", value1, value2, "agentTarget");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetIsNull() {
            addCriterion("agent_l2_target is null");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetIsNotNull() {
            addCriterion("agent_l2_target is not null");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetEqualTo(Integer value) {
            addCriterion("agent_l2_target =", value, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetNotEqualTo(Integer value) {
            addCriterion("agent_l2_target <>", value, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetGreaterThan(Integer value) {
            addCriterion("agent_l2_target >", value, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetGreaterThanOrEqualTo(Integer value) {
            addCriterion("agent_l2_target >=", value, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetLessThan(Integer value) {
            addCriterion("agent_l2_target <", value, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetLessThanOrEqualTo(Integer value) {
            addCriterion("agent_l2_target <=", value, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetIn(List<Integer> values) {
            addCriterion("agent_l2_target in", values, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetNotIn(List<Integer> values) {
            addCriterion("agent_l2_target not in", values, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetBetween(Integer value1, Integer value2) {
            addCriterion("agent_l2_target between", value1, value2, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL2TargetNotBetween(Integer value1, Integer value2) {
            addCriterion("agent_l2_target not between", value1, value2, "agentL2Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetIsNull() {
            addCriterion("agent_l3_target is null");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetIsNotNull() {
            addCriterion("agent_l3_target is not null");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetEqualTo(Integer value) {
            addCriterion("agent_l3_target =", value, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetNotEqualTo(Integer value) {
            addCriterion("agent_l3_target <>", value, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetGreaterThan(Integer value) {
            addCriterion("agent_l3_target >", value, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetGreaterThanOrEqualTo(Integer value) {
            addCriterion("agent_l3_target >=", value, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetLessThan(Integer value) {
            addCriterion("agent_l3_target <", value, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetLessThanOrEqualTo(Integer value) {
            addCriterion("agent_l3_target <=", value, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetIn(List<Integer> values) {
            addCriterion("agent_l3_target in", values, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetNotIn(List<Integer> values) {
            addCriterion("agent_l3_target not in", values, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetBetween(Integer value1, Integer value2) {
            addCriterion("agent_l3_target between", value1, value2, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andAgentL3TargetNotBetween(Integer value1, Integer value2) {
            addCriterion("agent_l3_target not between", value1, value2, "agentL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetIsNull() {
            addCriterion("hospital_target is null");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetIsNotNull() {
            addCriterion("hospital_target is not null");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetEqualTo(Integer value) {
            addCriterion("hospital_target =", value, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetNotEqualTo(Integer value) {
            addCriterion("hospital_target <>", value, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetGreaterThan(Integer value) {
            addCriterion("hospital_target >", value, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetGreaterThanOrEqualTo(Integer value) {
            addCriterion("hospital_target >=", value, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetLessThan(Integer value) {
            addCriterion("hospital_target <", value, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetLessThanOrEqualTo(Integer value) {
            addCriterion("hospital_target <=", value, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetIn(List<Integer> values) {
            addCriterion("hospital_target in", values, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetNotIn(List<Integer> values) {
            addCriterion("hospital_target not in", values, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetBetween(Integer value1, Integer value2) {
            addCriterion("hospital_target between", value1, value2, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalTargetNotBetween(Integer value1, Integer value2) {
            addCriterion("hospital_target not between", value1, value2, "hospitalTarget");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetIsNull() {
            addCriterion("hospital_l2_target is null");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetIsNotNull() {
            addCriterion("hospital_l2_target is not null");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetEqualTo(Integer value) {
            addCriterion("hospital_l2_target =", value, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetNotEqualTo(Integer value) {
            addCriterion("hospital_l2_target <>", value, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetGreaterThan(Integer value) {
            addCriterion("hospital_l2_target >", value, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetGreaterThanOrEqualTo(Integer value) {
            addCriterion("hospital_l2_target >=", value, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetLessThan(Integer value) {
            addCriterion("hospital_l2_target <", value, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetLessThanOrEqualTo(Integer value) {
            addCriterion("hospital_l2_target <=", value, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetIn(List<Integer> values) {
            addCriterion("hospital_l2_target in", values, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetNotIn(List<Integer> values) {
            addCriterion("hospital_l2_target not in", values, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetBetween(Integer value1, Integer value2) {
            addCriterion("hospital_l2_target between", value1, value2, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL2TargetNotBetween(Integer value1, Integer value2) {
            addCriterion("hospital_l2_target not between", value1, value2, "hospitalL2Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetIsNull() {
            addCriterion("hospital_l3_target is null");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetIsNotNull() {
            addCriterion("hospital_l3_target is not null");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetEqualTo(Integer value) {
            addCriterion("hospital_l3_target =", value, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetNotEqualTo(Integer value) {
            addCriterion("hospital_l3_target <>", value, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetGreaterThan(Integer value) {
            addCriterion("hospital_l3_target >", value, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetGreaterThanOrEqualTo(Integer value) {
            addCriterion("hospital_l3_target >=", value, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetLessThan(Integer value) {
            addCriterion("hospital_l3_target <", value, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetLessThanOrEqualTo(Integer value) {
            addCriterion("hospital_l3_target <=", value, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetIn(List<Integer> values) {
            addCriterion("hospital_l3_target in", values, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetNotIn(List<Integer> values) {
            addCriterion("hospital_l3_target not in", values, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetBetween(Integer value1, Integer value2) {
            addCriterion("hospital_l3_target between", value1, value2, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andHospitalL3TargetNotBetween(Integer value1, Integer value2) {
            addCriterion("hospital_l3_target not between", value1, value2, "hospitalL3Target");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdIsNull() {
            addCriterion("wx_open_id is null");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdIsNotNull() {
            addCriterion("wx_open_id is not null");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdEqualTo(String value) {
            addCriterion("wx_open_id =", value, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdNotEqualTo(String value) {
            addCriterion("wx_open_id <>", value, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdGreaterThan(String value) {
            addCriterion("wx_open_id >", value, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdGreaterThanOrEqualTo(String value) {
            addCriterion("wx_open_id >=", value, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdLessThan(String value) {
            addCriterion("wx_open_id <", value, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdLessThanOrEqualTo(String value) {
            addCriterion("wx_open_id <=", value, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdLike(String value) {
            addCriterion("wx_open_id like", value, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdNotLike(String value) {
            addCriterion("wx_open_id not like", value, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdIn(List<String> values) {
            addCriterion("wx_open_id in", values, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdNotIn(List<String> values) {
            addCriterion("wx_open_id not in", values, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdBetween(String value1, String value2) {
            addCriterion("wx_open_id between", value1, value2, "wxOpenId");
            return (Criteria) this;
        }

        public Criteria andWxOpenIdNotBetween(String value1, String value2) {
            addCriterion("wx_open_id not between", value1, value2, "wxOpenId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}